﻿public partial class Solution
{
    public bool IsPalindrome(int x)
    {
        bool result = false;
        // 0必是回文
        if (x == 0)
        {
            result = true;
        }
        // 只处理个位不为零的正数，其他必不是回文
        else if (x > 0 && x % 10 != 0)
        {
            int reversed = 0;
            while (x > reversed)
            {
                reversed = reversed * 10 + x % 10;
                x /= 10;
            }
            // 分别处理偶数位数和奇数位数
            if (reversed == x || (reversed / 10 == x))
            {
                result = true;
            }
        }
        GC.Collect();
        return result;
    }
}
